package com.ruoyi.event.controller;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.event.domain.WxLoginDTO;
import com.ruoyi.event.service.WxLoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
@RequestMapping("/event/wx/login")
public class WxLoginController {
    @Autowired
    private WxLoginService wxLoginService;

    /**
     * 小程序微信登录（获取openid和手机号）
     * 前端需传递：code（必传）、encryptedData（选传，获取手机号时需要）、iv（选传，获取手机号时需要）
     */
    @PostMapping
    public AjaxResult login(@RequestBody WxLoginDTO loginDTO) {
        // 校验code必传
        if (StringUtils.isBlank(loginDTO.getCode())) {
            return AjaxResult.error("code不能为空");
        }
        // 调用服务层处理
        Map<String, Object> result = wxLoginService.login("login",loginDTO);
        return AjaxResult.success(result);
    }

    /**
     * 小程序微信登录（获取手机号）
     * 前端需传递：encryptedData（选传，获取手机号时需要）、iv（选传，获取手机号时需要）
     */
    @PostMapping("/phone")
    public AjaxResult phone(@RequestBody WxLoginDTO loginDTO) {
        // 校验code必传

        // 调用服务层处理
        Map<String, Object> result = wxLoginService.getphone(loginDTO);
        return AjaxResult.success(result);
    }
}